使用存储过程将Oracle数据批量导出为多个csv文件

您所在的位置:网站首页 oracle 存储过程导出excel文件 使用存储过程将Oracle数据批量导出为多个csv文件

使用存储过程将Oracle数据批量导出为多个csv文件

2024-07-10 09:43| 来源: 网络整理| 查看: 265

数据库有如下表结构:

aaa ( 

        obj_id          NUMBER,  (Primary Key)

        obj_name   VARCHAR2(80),

        obj_size   NUMBER NOT NULL

        obj_time       NUMBER NOT NULL

        ms_version        NUMBER NOT NULL

)

现在有100万条记录,要求每1000条记录导出为一个csv文件,共计1000个文件,文件名称格式为output0.csv,output1.csv......output999.csv。

每个csv文件每行记录包含:$1, $2, $3, $4四部分内容。

$1 = obj_id|obj_name

$2 = obj_size *10+obj_version

$3 = obj_time in format YYYY-MM-DD HH:mi

$4 = obj_name

要求第一个文件在500ms以内产生出来,后面每个文件生成间隔时间不得大于500ms,速度均匀。

方案一:使用pl/sql存储过程分页查询,每次查询1000条记录写一个文件,实现代码如下:

create or replace procedure export_to_csv(P_DIR IN VARCHAR2) is CSV_OUTPUT UTL_FILE.FILE_TYPE; MAX_LINE NUMBER := 1000; OUT_FILE_NAME varchar2(20); OBJ_SIZE NUMBER; MIN_RECORD N


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3